package domein;
//imports
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JOptionPane;
import database.Mapper;

public class Klant
	{
	//vars
	private int id;
	private String aanspreek;
	private String voornaam;
	private String familienaam;
	private String bedrijf;
	private String ondernemingsnummer;
	private String straat;
	private int nummer;
	private String gemeente;
	private String postcode;
	private String land;
	private String telefoon;
	private String gsm;
	private String fax;
	private String email;
	private String rekeningnummer;
	private String iban;
	private String bic;
	private String taalcode;
	private String notities;
		
		
		
		public Klant(int id, String aa, String vn, String fn, String be, String on, String st, int nr, String ge, String po, String la, String te, String gs, String fa, String em, String re, String ib, String bi, String ta, String no)
			{
			setId(id);
			setAanspreek(aa);
			setVoornaam(vn);
			setFamilienaam(fn);
			setBedrijf(be);
			setOndernemingsnummer(on);
			setStraat(st);
			setNummer(nr);
			setGemeente(ge);
			setPostcode(po);
			setLand(la);
			setTelefoon(te);
			setGsm(gs);
			setFax(fa);
			setEmail(em);
			setRekeningnummer(re);
			setIban(ib);
			setBic(bi);
			setTaalcode(ta);
			setNotities(no);
			}//end Klant
		
//		GETTERS & SETTERS
		public int getId() {
			return id;
		}

		public void setId(int id) {
			this.id = id;
		}
		public String getAanspreek() {
			return aanspreek;
		}

		public void setAanspreek(String aanspreek) {
			this.aanspreek = aanspreek;
		}

		public String getBedrijf() {
			return bedrijf;
		}


		public void setBedrijf(String bedrijf) {
			this.bedrijf = bedrijf;
		}

		public String getBic() {
			return bic;
		}

		public void setBic(String bic) {
			this.bic = bic;
		}

		public String getEmail() {
			return email;
		}

		public void setEmail(String email) {
			this.email = email;
		}

		public String getFamilienaam() {
			return familienaam;
		}

		public void setFamilienaam(String familienaam) {
			this.familienaam = familienaam;
		}

		public String getFax() {
			return fax;
		}

		public void setFax(String fax) {
			this.fax = fax;
		}

		public String getGemeente() {
			return gemeente;
		}

		public void setGemeente(String gemeente) {
			this.gemeente = gemeente;
		}

		public String getGsm() {
			return gsm;
		}

		public void setGsm(String gsm) {
			this.gsm = gsm;
		}

		public String getIban() {
			return iban;
		}

		public void setIban(String iban) {
			this.iban = iban;
		}

		public String getLand() {
			return land;
		}

		public void setLand(String land) {
			this.land = land;
		}

		public String getNotities() {
			return notities;
		}

		public void setNotities(String notities) {
			notities = notities;
		}

		public int getNummer() {
			return nummer;
		}

		public void setNummer(int nummer) {
			this.nummer = nummer;
		}

		public String getOndernemingsnummer() {
			return ondernemingsnummer;
		}

		public void setOndernemingsnummer(String ondernemingsnummer) {
			this.ondernemingsnummer = ondernemingsnummer;
		}

		public String getPostcode() {
			return postcode;
		}

		public void setPostcode(String postcode) {
			this.postcode = postcode;
		}

		public String getRekeningnummer() {
			return rekeningnummer;
		}

		public void setRekeningnummer(String rekeningnummer) {
			this.rekeningnummer = rekeningnummer;
		}

		public String getStraat() {
			return straat;
		}

		public void setStraat(String straat) {
			this.straat = straat;
		}

		public String getTaalcode() {
			return taalcode;
		}

		public void setTaalcode(String taalcode) {
			this.taalcode = taalcode;
		}

		public String getTelefoon() {
			return telefoon;
		}

		public void setTelefoon(String telefoon) {
			this.telefoon = telefoon;
		}

		public String getVoornaam() {
			return voornaam;
		}

		public void setVoornaam(String voornaam) {
			this.voornaam = voornaam;
		}

//END GETTERS & SETTERS		
		
		public void registreerKlant()
			{
				Mapper mapper= Mapper.getInstance();
				  Statement statement= mapper.getStatement() ;
				      try
				      
				      {
				    	
				    	  String Qry = String.format("INSERT INTO tblKlanten (Aanspreekvorm, Voornaam, Familienaam, Bedrijf, Ondernemingsnummer, Straat, Nummer, Gemeente, Postcode, Land, Telefoon, Gsm, Fax, Email, Rekeningnummer, Iban, Bic, Taalcode, Notities) VALUES('" + id +"','" + aanspreek +"','" + voornaam +"','" + familienaam +"','" + bedrijf +"','" + ondernemingsnummer +"','" + straat +"','" + nummer +"','" + gemeente +"','" + postcode +"','" + land +"','" + telefoon +"','" + gsm +"','" + fax +"','" + email +"','" + rekeningnummer +"','" + iban +"','" + bic +"','" + taalcode +"','" + notities +"') )");
				    	  statement.executeUpdate(Qry);
				     }  
				     catch ( SQLException sqlException )
				     {
				    	 
				        JOptionPane.showMessageDialog( null, sqlException.getMessage(),
				         "Database Error", JOptionPane.ERROR_MESSAGE );

				       
				     }
			}//end registreer klant
		
		public void update(int id)
		{
			Mapper mapper= Mapper.getInstance();
			  Statement statement= mapper.getStatement() ;
			      try
			      
			      {
			    	
			    	  String Qry = String.format("UPDATE tblKlanten SET Aanspreekvorm='" + aanspreek +"', Voornaam='" + voornaam + "', Familienaam='" + familienaam + "', Bedrijf='" + bedrijf + "', Ondernemingsnummer='" + ondernemingsnummer + "',Straat='" + straat + "', Nummer='" + nummer + "', Gemeente='" + gemeente + "', Postcode='" + postcode + "', Land='" + land + "', Telefoon='" + telefoon + "' Gsm='" + gsm + "' Fax='" + fax + "' Email='" + email + "' Rekeningnummer='" + rekeningnummer + "' Iban='" + iban + "' Bic='" + bic + "' Taalcode='" + taalcode + "' Notities='" + notities + " WHERE Id='%d'",id);
			    	  statement.executeUpdate(Qry);
			    	  System.out.print("upgedate !");
			     }  
			     catch ( SQLException sqlException )
			     {
			    	 
			        JOptionPane.showMessageDialog( null, sqlException.getMessage(),
			         "Database Error", JOptionPane.ERROR_MESSAGE );
			       
			     }
		}//end update
	}//end class Klant